home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1995 June / MacFormat 25.iso / Shareware City / Developers / ICProgKit1.0 / APIs / ICKeys.h < prev    next >
Text File  |  1994-12-03  |  6KB  |  169 lines

  1. /*
  2.     The canonical Internet Config interface is defined in Pascal.  These headers have
  3.     not been thoroughly tested.  If there is a conflict between these headers and the
  4.     Pascal interfaces, the Pascal should take precedence.
  5. */
  6.  
  7. /* ///////////////////////////////////////////////////////////////////////////////// */
  8.  
  9. #ifndef __ICKEYS__
  10. #define __ICKEYS__
  11.  
  12. #ifndef __TYPES__
  13. #include <Types.h>
  14. #endif
  15.  
  16. #ifndef __ALIASES__
  17. #include <Aliases.h>
  18. #endif
  19.  
  20. /* ///////////////////////////////////////////////////////////////////////////////// */
  21.  
  22. #define kICRealName "\pRealName"    /* PString */
  23. #define kICEmail "\pEmail"    /* PString -- user@host.domain */
  24. #define kICMailAccount "\pMailAccount"    /* PString -- user@host.domain */
  25. #define kICMailPassword "\pMailPassword"    /* PString -- scrambled */
  26. #define kICNewsAuthUsername "\pNewsAuthUsername"    /* PString -- host.domain */
  27. #define kICNewsAuthPassword "\pNewsAuthPassword"    /* PString -- scrambled */
  28. #define kICArchiePreferred "\pArchiePreferred"    /* PString -- formatted */
  29. #define kICArchieAll "\pArchieAll"    /* STR# -- formatted */
  30. #define kICUMichPreferred "\pUMichPreferred"    /* PString -- formatted */
  31. #define kICUMichAll "\pUMichAll"    /* STR# -- formatted */
  32. #define kICInfoMacPreferred "\pInfoMacPreferred"    /* PString -- formatted */
  33. #define kICInfoMacAll "\pInfoMacAll"    /* STR# -- formatted */
  34. #define kICPhHost "\pPhHost"    /* PString -- host.domain */
  35. #define kICWhoisHost "\pWhoisHost"    /* PString -- host.domain */
  36. #define kICFingerHost "\pFingerHost"    /* PString -- host.domain */
  37. #define kICFTPHost "\pFTPHost"    /* PString -- host.domain */
  38. #define kICTelnetHost "\pTelnetHost"    /* PString -- host.domain */
  39. #define kICSMTPHost "\pSMTPHost"    /* PString -- host.domain */
  40. #define kICNNTPHost "\pNNTPHost"    /* PString -- host.domain */
  41. #define kICGopherHost "\pGopherHost"    /* PString -- host.domain */
  42. #define kICLDAPServer "\pLDAPServer"    /* PString -- host.domain */
  43. #define kICLDAPSearchbase "\pLDAPSearchbase"    /* PString -- string LDAP thing */
  44. #define kICWWWHomePage "\pWWWHomePage"    /* PString -- URL */
  45. #define kICWAISGateway "\pWAISGateway"    /* PString -- no idea */
  46. #define kICScreenFont "\pScreenFont"    /* ICFontRecord */
  47. #define kICPrinterFont "\pPrinterFont"    /* ICFontRecord */
  48. #define kICTextCreator "\pTextCreator"    /* ICAppSpec */
  49. #define kICBinaryTypeCreator "\pBinaryTypeCreator"    /* ICFileInfo */
  50. #define kICDownloadFolder "\pDownloadFolder"    /* ICFileSpec */
  51. #define kICSignature "\pSignature"    /* TEXT */
  52. #define kICOrganization "\pOrganization"    /* PString */
  53. #define kICPlan "\pPlan"    /* TEXT */
  54. #define kICQuotingString "\pQuotingString"    /* PString */
  55. #define kICMailHeaders "\pMailHeaders"    /* TEXT */
  56. #define kICNewsHeaders "\pNewsHeaders"    /* TEXT */
  57. #define kICMapping "\pMapping"    /* ICMapEntries */
  58. #define kICCharacterSet "\pCharacterSet"    /* ICCharTable */
  59. #define kICHelper "\pHelper•"    /* ICAppSpec */
  60. #define kICServices "\pServices"    /* ICServices */
  61.  
  62. #if defined(powerc) || defined (__powerc)
  63. #pragma options align=mac68k
  64. #endif
  65.  
  66. struct ICFontRecord {
  67.     short size;
  68.     Style face;
  69.     char pad;
  70.     Str255 font;
  71. };
  72. typedef struct ICFontRecord ICFontRecord, *ICFontRecordPtr, **ICFontRecordHandle;
  73.  
  74. struct ICCharTable {
  75.     unsigned char net_to_mac[256];
  76.     unsigned char mac_to_net[256];
  77. };
  78. typedef struct ICCharTable ICCharTable, *ICCharTablePtr, **ICCharTableHandle;
  79.  
  80. struct ICAppSpec {
  81.     OSType fCreator;
  82.     Str63 name;
  83. };
  84. typedef struct ICAppSpec ICAppSpec, *ICAppSpecPtr, **ICAppSpecHandle;
  85.  
  86. struct ICFileInfo {
  87.     OSType fType;
  88.     OSType fCreator;
  89.     Str63 name;
  90. };
  91. typedef struct ICFileInfo ICFileInfo, *ICFileInfoPtr, **ICFileInfoHandle;
  92.  
  93. struct ICFileSpec {
  94.     Str31 vol_name;
  95.     long vol_creation_date;
  96.     FSSpec fss;
  97.     AliasRecord alias;
  98.     /* plus extra data, aliasSize 0 means no alias manager present when
  99.             ICFileSpecification was created */
  100. };
  101. typedef struct ICFileSpec ICFileSpec, *ICFileSpecPtr, **ICFileSpecHandle;
  102.  
  103. enum {
  104.     ICfile_spec_header_size = sizeof(ICFileSpec) - sizeof(AliasRecord)
  105. };
  106.  
  107. struct ICMapEntry {
  108.     short total_length;
  109.     short fixed_length;
  110.     short version;
  111.     OSType file_type;
  112.     OSType file_creator;
  113.     OSType post_creator;
  114.     long flags;
  115.     /* variable part starts here */
  116.     Str255 extension;
  117.     Str255 creator_app_name;
  118.     Str255 post_app_name;
  119.     Str255 MIME_type;
  120.     Str255 entry_name;
  121. };
  122. typedef struct ICMapEntry ICMapEntry, *ICMapEntryPtr, **ICMapEntryHandle;
  123.  
  124. enum {
  125.     ICmap_binary_bit = 0,                        /* file should be transfered in binary as opposed to text mode */
  126.     ICmap_binary_mask = 0x00000001,
  127.     ICmap_resource_fork_bit = 1,        /* the resource fork of the file is significant */
  128.     ICmap_resource_fork_mask = 0x00000002,
  129.     ICmap_data_fork_bit = 2,                /* the data fork of the file is significant */
  130.     ICmap_data_fork_mask = 0x00000004,
  131.  
  132.     ICmap_post_bit = 3,                            /* post process using post fields */
  133.     ICmap_post_mask = 0x00000008,
  134.  
  135.     ICmap_not_incoming_bit = 4,            /* ignore this mapping for incoming files */
  136.     ICmap_not_incoming_mask = 0x00000010,
  137.     ICmap_not_outgoing_bit = 5,            /* ignore this mapping for outgoing files */
  138.     ICmap_not_outgoing_mask = 0x00000020,
  139.  
  140.     ICmap_fixed_length = 22                    /* number in fixed_length field */
  141. };
  142.  
  143. struct ICServiceEntry {
  144.     Str255 name;
  145.     short port;
  146.     short flags;
  147. };
  148. typedef struct ICServiceEntry ICServiceEntry, *ICServiceEntryPtr, **ICServiceEntryHandle;
  149.  
  150. struct ICServices {
  151.     short count;
  152.     ICServiceEntry services[1];
  153. };
  154. typedef struct ICServices ICServices, *ICServicesPtr, **ICServicesHandle;
  155.  
  156. enum {
  157.     ICservices_tcp_bit = 0,
  158.     ICservices_tcp_mask = 0x00000001,
  159.     ICservices_udp_bit = 1,
  160.     ICservices_udp_mask = 0x00000002
  161.     /* both bits can be set, which means the service is both TCP and UDP, eg daytime */
  162. };
  163.  
  164. #if defined(powerc) || defined(__powerc)
  165. #pragma options align=reset
  166. #endif
  167.  
  168. #endif
  169.